package cn.ike.service.system;

import cn.ike.domain.system.Module;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface ModuleService {
    /**
     * 查询全部模块
     */
    List<Module> findAll();

    /**
     * 分页查询模块
     */
    PageInfo<Module> findByPage(int pageNum, int pageSize);

    /**
     * 根据id查询模块
     */
    Module findById(String moduleId);

    /**
     * 添加模块
     * @param module
     */
    void save(Module module);

    /**
     * 修改模块
     * @param module
     */
    void update(Module module);

    /**
     * 删除模块
     */
    boolean delete(String moduleId);

    /**
     * 查询角色所拥有的权限
     * @param roleId
     * @return
     */
    List<Module> findModulByRoleId(String roleId);

    /**
     * 角色分配权限
     * @param roleId
     * @param moduleIds
     */
    void updateRoleModule(String roleId, String moduleIds);

    /**
     * 根据用户id查询模块
     * @param userId
     * @return
     */
    List<Module> findModuleByUserId(String userId);
}
